﻿using FreeSql.DatabaseModel;using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;

namespace Simple.Repository.SimpleEntitys {

	/// <summary>
	/// 公司
	/// </summary>
	[JsonObject(MemberSerialization.OptIn), Table(Name = "company", DisableSyncStructure = true)]
	public partial class Company {

		/// <summary>
		/// 公司Id
		/// </summary>
		[JsonProperty, Column(Name = "id", DbType = "bigint", IsPrimary = true, IsIdentity = true)]
		public long Id { get; set; }

		/// <summary>
		/// 公司名称
		/// </summary>
		[JsonProperty, Column(Name = "name", IsNullable = false)]
		public string Name { get; set; }

		/// <summary>
		/// 版本：基础版|专业版|企业版|平台
		/// </summary>
		[JsonProperty, Column(Name = "version", IsNullable = false)]
		public string Version { get; set; }

		/// <summary>
		/// 过期时间
		/// </summary>
		[JsonProperty, Column(Name = "version_expiry_time", DbType = "datetime")]
		public DateTime VersionExpiryTime { get; set; }

		/// <summary>
		/// 创建人
		/// </summary>
		[JsonProperty, Column(Name = "create_by", DbType = "bigint")]
		public long CreateBy { get; set; }

		/// <summary>
		/// 省份Id
		/// </summary>
		[JsonProperty, Column(Name = "province_id", DbType = "smallint")]
		public short? ProvinceId { get; set; }

		/// <summary>
		/// 省份名称
		/// </summary>
		[JsonProperty, Column(Name = "province_name")]
		public string ProvinceName { get; set; }

		/// <summary>
		/// 城市Id
		/// </summary>
		[JsonProperty, Column(Name = "city_id", DbType = "smallint")]
		public short? CityId { get; set; }

		/// <summary>
		/// 城市名称
		/// </summary>
		[JsonProperty, Column(Name = "city_name")]
		public string CityName { get; set; }

		/// <summary>
		/// 地区Id
		/// </summary>
		[JsonProperty, Column(Name = "area_id", DbType = "smallint")]
		public short? AreaId { get; set; }

		/// <summary>
		/// 地区名称
		/// </summary>
		[JsonProperty, Column(Name = "area_name")]
		public string AreaName { get; set; }

		/// <summary>
		/// 详细地址
		/// </summary>
		[JsonProperty, Column(Name = "address")]
		public string Address { get; set; }

		/// <summary>
		/// 联系人手机号
		/// </summary>
		[JsonProperty, Column(Name = "contact_phone")]
		public string ContactPhone { get; set; }

		/// <summary>
		/// 联系人姓名
		/// </summary>
		[JsonProperty, Column(Name = "contact_name")]
		public string ContactName { get; set; }

		/// <summary>
		/// 创建时间
		/// </summary>
		[JsonProperty, Column(Name = "create_time", DbType = "datetime")]
		public DateTime CreateTime { get; set; }

		/// <summary>
		/// 更新时间
		/// </summary>
		[JsonProperty, Column(Name = "update_time", DbType = "datetime")]
		public DateTime UpdateTime { get; set; }

		/// <summary>
		/// 更新人
		/// </summary>
		[JsonProperty, Column(Name = "update_by", DbType = "bigint")]
		public long UpdateBy { get; set; }

		/// <summary>
		/// 是否删除：0=未删除、1=已删除
		/// </summary>
		[JsonProperty, Column(Name = "is_delete", DbType = "int")]
		public int IsDelete { get; set; }

	}

}
